package com.yunji.base.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yunji.base.domain.StaffSiteDO;
import com.yunji.cabinet.domain.ContainerDO;
import com.yunji.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @version 1.0
 * @Project: yunji-coffee
 * @Package com.yunji.user.vo
 * @FileName SiteVo.java
 * @Copyright Copyright © 2024 云集互联. All Rights Reserved
 * Company		com
 * @CreateTime 2024-04-07 19:37:33
 * @Description 员工响应参数
 * @Modification Author                    History Time			Version				Description
 * --------------------------------------------------------------------------------
 * HuaAo				2024-04-07 19:37:33		1.0					1.0 Version
 * @since JDK 1.8.0_202
 */
@Data
public class StaffVO implements Serializable {
    private static final long serialVersionUID = 8608425646237045910L;

    @Excel(name = "主键ID")
    @ApiModelProperty("主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    @Excel(name = "员工编号", width = 15)
    @ApiModelProperty("员工编号")
    private String staffId;

    @Excel(name = "员工昵称/真实姓名", width = 15)
    @ApiModelProperty("员工昵称/真实姓名")
    private String staffName;

    @Excel(name = "员工密码", width = 15)
    @ApiModelProperty("员工密码")
    private String staffPwd;

    @Excel(name = "员工性别(0:男 1:女)", width = 15)
    @ApiModelProperty("员工性别(0:男 1:女)")
    private Integer sex;

    @Excel(name = "年龄", width = 15)
    @ApiModelProperty("年龄")
    private Integer age;

    @Excel(name = "密码盐", width = 15)
    @ApiModelProperty("密码盐")
    private String salt;

    @Excel(name = "员工电话", width = 15)
    @ApiModelProperty("员工电话")
    private String staffTel;

    @Excel(name = "员工状态:0删除(禁用,离职);1显示(启用,在职)", width = 15)
    @ApiModelProperty("员工状态:0删除(禁用,离职);1显示(启用,在职)")
    private Integer status;

    @Excel(name = "测试状态 0-未开启 1-开启")
    @ApiModelProperty("测试状态 0-未开启 1-开启")
    private Integer testStatus;

    @Excel(name = "余额", width = 15)
    @ApiModelProperty("余额")
    private String balance;

    @Excel(name = "分成类型(0:不分成;1:按交易金额;2:按交易笔数;)", width = 15)
    @ApiModelProperty("分成类型(0:不分成;1:按交易金额;2:按交易笔数;)")
    private Integer scaleType;

    @Excel(name = "分成比例/每笔金额", width = 15)
    @ApiModelProperty("分成比例/每笔金额")
    private BigDecimal scale;

    @Excel(name = "代理商ID", width = 15)
    @ApiModelProperty("代理商ID")
    private Long agentId;

    @Excel(name = "代理商名称", width = 15)
    @ApiModelProperty("代理商名称")
    private String agentName;

    @Excel(name = "网点用户ID", width = 15)
    @ApiModelProperty("网点用户ID")
    private Long managerId;

    @Excel(name = "网点用户名称", width = 15)
    @ApiModelProperty("网点用户名称")
    private String managerName;

    @Excel(name = "网点ID", width = 15)
    @ApiModelProperty("网点ID")
    private Long siteId;

    @Excel(name = "网点名称", width = 15)
    @ApiModelProperty("网点名称")
    private String siteName;

    @Excel(name = "累计收益", width = 15)
    @ApiModelProperty("累计收益")
    private BigDecimal earnAmount;

    @Excel(name = "提现金额", width = 15)
    @ApiModelProperty("提现金额")
    private BigDecimal cashAmount;

    @Excel(name = "账户余额", width = 15)
    @ApiModelProperty("账户余额")
    private BigDecimal remainAmount;

    @Excel(name = "冻结金额", width = 15)
    @ApiModelProperty("冻结金额")
    private BigDecimal frozenAmount;

    @Excel(name = "退款金额", width = 15)
    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount;

    @Excel(name = "补货次数", width = 15)
    @ApiModelProperty("补货次数")
    private Integer fillCargoCount;

    @Excel(name = "员工端openid", width = 15)
    @ApiModelProperty("员工端openid")
    private String openid;

    @Excel(name = "确定员工唯一标识", width = 15)
    @ApiModelProperty("确定员工唯一标识")
    private String unionid;

    // token 映射唯一ID
    @TableField(exist = false)
    private String token;

    @ApiModelProperty("绑定站点合集")
    private Long[] bindSites;

    @ApiModelProperty("货柜信息")
    private List<ContainerDO> containers;

    @ApiModelProperty("绑定站点合集")
    private List<StaffSiteDO> bindSitesShow;
}
